Indice

  • Intro
  • Shiny, micro-teoría y componentes
  • Manos a la obra: demo
  • plotly, leaflet, dygraphs, highcharter (render dinámico)
  • Cuándo usar cada una.

Shiny: micro-teoría

ui + server + reactividad → render*()*Output()

# pseudo-esqueleto

ui <- fluidPage(
  sliderInput("n", "N:", 10, 100, 50),
  plotOutput("p")
)

server <- \(input, output, session){
  datos <- reactive({ rnorm(input$n) })
  output$p <- renderPlot({ hist(datos(), main= "Histograma", xlab="Datos", ylab="Frecuencia") })
}

shinyApp(ui, server)
expandir para código
DiagrammeR::grViz("
digraph shiny_diagram {
  rankdir=TB; // Dirección de arriba hacia abajo
  
  // Fondo general
  bgcolor='#F7F7F7';

  // Estilo de nodos
  graph [fontname='storia-sans'];
  node [shape=box, style=filled, fontname='storia-sans', fontsize=14, color=gray90];
  edge  [fontname='storia-sans', fontcolor=black, fontsize=12];
  
  // Cluster UI
  subgraph cluster_UI {
    label = 'UI (Frontend)';
    color = '#B03A2E'; // Color del borde del cluster
    style = rounded;
    fillcolor = '#F1948A'; // Fondo claro
    
    UI_input [label = 'Input', fillcolor='#9682fc50', color='#9682fc'];
    UI_output [label = 'Output', fillcolor='#01c9ad50', color='#01c9ad'];
  }

  // Nodo del servidor
  SERVER [label = 'Server (Backend)', shape=ellipse, fillcolor='#F1948A', color='#619CFF', style=solid];

  // Conexiones con etiquetas
  UI_input -> SERVER [label = 'Datos del\nusuario', fontname='storia-sans', fontcolor=black, fontsize=12];
  SERVER -> UI_output [label = 'Resultados', fontname='storia-sans', fontcolor=black, fontsize=12];

  // Alineación lógica
  {rank=same; UI_input; UI_output;}
}
")

Esquema: Estructura y reactividad

Manos a la obra

Espero les haya servido el curso

A continuación les dejamos una aplicación de retroalimentación anónimo y que nos sirve para mejorar (dejamos el código disponible en el GitHub con el enlace a los resultados de la encuesta).

Fuentes

  • Breuer, J., & Aust, F. (2022, 27-28 de Abril). Reproducible research workflows for psychologists: Other topics in reproducible research [Presentation]. KU Leuven. Obtenido desde: https://frederikaust.com/reproducible-research-practices-workshop/slides/7_Other_Topics.html

  • Wembo, J. (2024, 24 de Septiembre). Learn Docker. DataCamp. https://www.datacamp.com/blog/learn-docker

  • Plaza-Vega, F. (2024). Mini curso: Quarto y GitHub Pages. III Jornadas de Ingeniería Estadística 202, 11 y 12 de Noviembre 2024, Auditorio DMCC Universidad de Santiago de Chile. https://github.com/FranPlaza/Quarto-Github

  • Xie, Y. (2024). Dynamic Documents with R and Quarto (2nd ed.). Chapman and Hall/CRC. https://quarto.org

timer.utf8